home *** CD-ROM | disk | FTP | other *** search
- /*****************************************************************************/
- /* */
- /* Modul: EXTERN.H */
- /* */
- /*****************************************************************************/
- #ifndef _qed_global_h_
- #define _qed_global_h_
-
- #include <string.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include <portab.h>
- #include <aes.h>
- #include <vdi.h>
- #include <tos.h>
- #include <mglobal.h>
- #include <mydial.h>
- #include <nkcc.h>
- #include <xrsrc.h>
- #include <time.h>
-
- #include "set.h"
-
- #ifdef __TURBOC__
- #define global _GemParBlk.global /* etwas portabler */
- #endif
-
- /* MK@UN: Die folgenden Definitionen sind möglicherweise schon
- in aes.h / vdi.h vorhanden: */
-
- #ifndef TA_LEFT /* text alignment */
- #define TA_LEFT 0
- #define TA_ASCENT 2
- #define TA_TOP 5
- #endif
-
- #ifndef SMALLER /* AES 4.1 */
- #define SMALLER 0x4000
- #endif
-
- #ifndef SC_CHANGED
- #define SC_CHANGED 80
- #endif
-
- /****** DEFINES **************************************************************/
-
- #define NO_HANDLE (-1) /* Wert für ungültiges Handle */
-
- #define NDC 0 /* Normalisierte Koordinaten */
- #define RC 2 /* Raster Koordinaten */
-
- #define odd(i) ((i) & 1)
-
- #define EOS '\0'
- #define NIL -1
-
- /****** TYPES ****************************************************************/
-
- #define MAX_PATH_LEN 1024
- typedef UBYTE PATH[MAX_PATH_LEN];
-
- #define MAX_NAME_LEN 255
- typedef UBYTE FILENAME[MAX_NAME_LEN];
-
- typedef struct
- {
- FILENAME name;
- FILENAME suffix;
- } FSEL;
-
- typedef enum
- {
- POS_CHANGE,
- LINE_CHANGE,
- TOTAL_CHANGE,
- NOP_CHANGE,
- SCROLL_UP,
- SCROLL_DOWN,
- MOVE_UP,
- MOVE_DOWN,
- BLK_CHANGE
- } CHANGE;
-
- /*
- SCROLL_UP : Alles unter der aktuellen Zeile wird hochgescrollt,
- die letzte Zeile wird natürlich neu geschrieben.
- (Cntrl-Y, und Delete am Ende der Zeile).
- SCROLL_DOWN : Alles unterhalb der aktuellen Zeile und diese Zeile werden
- nach unten gescrollt, die aktuelle Zeile wird neu
- geschrieben. Ist auch LINE_CHANGE gesetzt wird auch die
- Zeile vor der aktuellen Zeile neu geschrieben.
- (RETURN, last_out_klemm)
- MOVE_UP,_DOWN : Das Fenster wird hoch und runter gescrollt um anz Zeilen
- BLK_CHANGE : Die Blockmarkierung wurde geändert.
- */
-
- typedef struct
- {
- LONG x;
- LONG y;
- LONG w;
- LONG h;
- } LRECT;
-
- /****** VARIABLES ************************************************************/
-
- EXTERN WORD phys_handle; /* Physikalisches Workstation Handle */
- EXTERN WORD gl_apid; /* Identifikation für Applikation */
- EXTERN WORD gl_wchar; /* Je nach aktuellem Font z.B. 8*16 */
- EXTERN WORD gl_hchar;
- EXTERN WORD sys_wchar; /* 8*16 */
- EXTERN WORD sys_hchar;
- EXTERN WORD sys_wbox; /* 19*19 */
- EXTERN WORD sys_hbox;
- EXTERN WORD min_ascii;
- EXTERN WORD max_ascii;
-
- EXTERN WORD fill_color; /* aktuell eingestellte Füllfarbe */
- EXTERN WORD planes; /* Anzahl der Planes */
- EXTERN WORD gem; /* GEM-Version */
- EXTERN BOOLEAN mint; /* MiNT aktiv? */
- EXTERN BOOLEAN aes41; /* MultiTOS/N.AES aktiv? */
- EXTERN WORD magx; /* MagiC da (>0) -> Version */
- EXTERN BOOLEAN gdos; /* GDOS vorhanden? */
-
- EXTERN BOOLEAN global_shift; /* bei aktueller Opertion wurde Shift gedrückt */
- EXTERN BOOLEAN quick_close; /* Sichern der Texte ohne Nachfrage */
- EXTERN WORD vdi_handle; /* Virtuelles Workstation Handle */
-
- EXTERN RECT desk; /* Bildschirm-Grö₧e 0,19,640,381 */
-
- EXTERN BOOLEAN done; /* Ende gewählt ? */
- EXTERN PATH qed_path; /* Name und Pfad der QED-Datei */
- EXTERN PATH app_path; /* Pfad der Applikation */
- EXTERN PATH scrapdir; /* Clipboard-Pfad */
-
- EXTERN struct tm *local_time; /* enthält die aktuelle Uhrzeit */
-
- EXTERN WORD desire_x, return_code;
- EXTERN LONG desire_y, undo_y;
-
- /****** FUNCTIONS ************************************************************/
-
- WORD open_vwork (WORD *w_out);
-
- VOID Set_mouse (int number);
- WORD Get_mouse (void);
- BOOLEAN Mouse_sleeps (void);
- VOID Sleep_mouse (void);
- VOID Wake_mouse (void);
- VOID Last_mouse (void);
- VOID Hide_mouse (void);
- VOID Show_mouse (void);
- VOID Busy_mouse (void);
- VOID Arrow_mouse (void);
-
- VOID print_headline (UBYTE *str);
-
- VOID start_aktion (CONST UBYTE *head, BOOLEAN inter, LONG max);
- VOID do_aktion (LONG value);
- VOID end_aktion (VOID);
-
- VOID str_upper (UBYTE *str);
- VOID str_lower (UBYTE *str);
-
- BOOLEAN str_to_key (UBYTE *str, MKINFO *mk);
-
- BOOLEAN inside (WORD x, WORD y, CONST RECT *r);
-
- BOOLEAN get_clip (RECT *size);
- VOID set_clip (BOOLEAN flag, CONST RECT *size);
-
- WORD note (WORD button, WORD index);
- WORD inote (WORD button, WORD index, LONG i);
- WORD snote (WORD button, WORD index, UBYTE *str);
-
- VOID make_shortpath (CONST UBYTE *path, UBYTE *shortpath, WORD maxlen);
- BOOLEAN make_normalpath(UBYTE *path, BOOLEAN with_filename);
- VOID make_ext (UBYTE *fullname, CONST UBYTE *ext);
- VOID get_datum (UBYTE *date);
- long file_time (CONST UBYTE *filename, UBYTE *date, UBYTE *time);
- long file_size (CONST UBYTE *filename);
- VOID file_name (CONST UBYTE *fullname, UBYTE *filename, BOOLEAN withoutExt);
- VOID file_splitt (CONST UBYTE *fullname, UBYTE *path, UBYTE *name);
- WORD get_first_drive(VOID);
- VOID drive_name (WORD drive, UBYTE *name);
- VOID get_drive_space(WORD drive, ULONG *total, ULONG *free);
- BOOLEAN get_path (UBYTE *path, UBYTE drive);
- BOOLEAN set_path (UBYTE *path);
- BOOLEAN file_exist (CONST UBYTE *filename);
- BOOLEAN file_readonly (CONST UBYTE *filename);
- BOOLEAN path_exist (CONST UBYTE *pathname);
- VOID set_fsel_path (CONST UBYTE *path);
- BOOLEAN select_file (FSEL *fsel, UBYTE *filename, CONST UBYTE *lable);
- UBYTE **select_mfile (FSEL *fsel, UBYTE *path, CONST UBYTE *lable, WORD *anz);
-
- VOID init_global (VOID);
- VOID term_global (VOID);
-
- #endif
-